/*
7-135 数字金字塔
分数 10
作者 翁恺
单位 浙江大学

输入正整数n，输出n层数字金字塔。 
输入格式:

正整数n，1<=n<=9。
输出格式:

n层的金字塔，其中第1层的“1”在第1行的第39列（列从1开始计数）。
输入样例:

5

输出样例:

                                      1
                                     121
                                    12321
                                   1234321
                                  123454321
*/

#include <stdio.h>

void printBlank(int n) {
    for (; n > 0; n--) {
        printf(" ");
    }
}

void printDigital(int n) {
    for (int i = 1; i <= n; i++) {
        printf("%d", i);
    }
    for (int i = n - 1; i >= 1; i--) {
        printf("%d", i);
    }
    printf("\n");
}

int main() {
    int n;
    scanf("%d", &n);
    for (int i = 1, beforeBlank = 38; i <= n; i++, beforeBlank--) {
        printBlank(beforeBlank);
        printDigital(i);
    }
    return 0;
}